package demo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;

/**
 * 允许跨域的配置
 * 前后端分离的程序，在设计阶段要运行跨域
 */
@Configuration
public class CorsConfig {
    private CorsConfiguration buildConfig() {
        CorsConfiguration configuration = new CorsConfiguration();
        // allow-credentials: true 和 allowed-origins: “*” 不能共存，及当allow-credentials配置为true时，allowed-origins不能配置为 *
        // 使用 addAllowedOriginPattern 替代
        // 允许访问的客户端域名
        configuration.addAllowedOriginPattern("*");
        // 是否允许请求带有验证信息，cookie等
        configuration.setAllowCredentials(true);
        configuration.addAllowedMethod("*");
        configuration.addAllowedHeader("*");
        return configuration;
    }

//    @Bean
//    public CorsFilter corsFilter() {
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//        source.registerCorsConfiguration("/**", buildConfig());
//        return new CorsFilter(source);
//    }
}
